;--------------------------------------------------------
; File Created by SDCC : free open source ANSI-C Compiler
; Version 3.3.1 #8717 (Jun 16 2013) (MINGW32)
; This file was generated Thu Sep 26 17:01:35 2013
;--------------------------------------------------------
	.module RotationalSpeedControl
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _NSS4
	.globl _DIR3B1
	.globl _DIR3B0
	.globl _DIR2B1
	.globl _DIR2B0
	.globl _DIR1B1
	.globl _DIR1B0
	.globl _ENABLE
	.globl _DIRECTION_M3
	.globl _DIRECTION_M2
	.globl _DIRECTION_M1
	.globl _START
	.globl _LED
	.globl _SPIEN
	.globl _TXBMT
	.globl _NSSMD0
	.globl _NSSMD1
	.globl _RXOVRN
	.globl _MODF
	.globl _WCOL
	.globl _SPIF
	.globl _AD0CM0
	.globl _AD0CM1
	.globl _AD0LJST
	.globl _AD0WINT
	.globl _AD0BUSY
	.globl _AD0INT
	.globl _BURSTEN
	.globl _AD0EN
	.globl _CCF6
	.globl _CCF7
	.globl _CCF8
	.globl _CCF9
	.globl _CCF10
	.globl _CCF11
	.globl _CR1
	.globl _CF1
	.globl _CCF0
	.globl _CCF1
	.globl _CCF2
	.globl _CCF3
	.globl _CCF4
	.globl _CCF5
	.globl _CR
	.globl _CF
	.globl _P
	.globl _F1
	.globl _OV
	.globl _RS0
	.globl _RS1
	.globl _F0
	.globl _AC
	.globl _CY
	.globl _CPRL4
	.globl _CT4
	.globl _TR4
	.globl _EXE4
	.globl _EXF4
	.globl _TF4
	.globl _T2XCLK
	.globl _T2RCLK
	.globl _TR2
	.globl _T2SPLIT
	.globl _TF2CEN
	.globl _TF2LEN
	.globl _TF2L
	.globl _TF2H
	.globl _SI
	.globl _ACK
	.globl _ARBLOST
	.globl _ACKRQ
	.globl _STO
	.globl _STA
	.globl _TXMODE
	.globl _MASTER
	.globl _PX0
	.globl _PT0
	.globl _PX1
	.globl _PT1
	.globl _PS
	.globl _PS0
	.globl _PT2
	.globl _PSPI0
	.globl _EX0
	.globl _ET0
	.globl _EX1
	.globl _ET1
	.globl _ES0
	.globl _ET2
	.globl _ESPI0
	.globl _EA
	.globl _RI1
	.globl _TI1
	.globl _RB81
	.globl _TB81
	.globl _REN1
	.globl _MCE1
	.globl _S1MODE
	.globl _RI0
	.globl _TI0
	.globl _RB80
	.globl _TB80
	.globl _REN0
	.globl _MCE0
	.globl _S0MODE
	.globl _IT0
	.globl _IE0
	.globl _IT1
	.globl _IE1
	.globl _TR0
	.globl _TF0
	.globl _TR1
	.globl _TF1
	.globl _CAN0IF2DB2
	.globl _CAN0IF2DB1
	.globl _CAN0IF2DA2
	.globl _CAN0IF2DA1
	.globl _CAN0IF2MC
	.globl _CAN0IF2A2
	.globl _CAN0IF2A1
	.globl _CAN0IF2M2
	.globl _CAN0IF2M1
	.globl _CAN0IF2CM
	.globl _CAN0IF2CR
	.globl _CAN0IF1DB2
	.globl _CAN0IF1DB1
	.globl _CAN0IF1DA2
	.globl _CAN0IF1DA1
	.globl _CAN0IF1MC
	.globl _CAN0IF1A2
	.globl _CAN0IF1A1
	.globl _CAN0IF1M2
	.globl _CAN0IF1M1
	.globl _CAN0IF1CM
	.globl _CAN0IF1CR
	.globl _CAN0MV2
	.globl _CAN0MV1
	.globl _CAN0IP2
	.globl _CAN0IP1
	.globl _CAN0ND2
	.globl _CAN0ND1
	.globl _CAN0TR2
	.globl _CAN0TR1
	.globl _CAN0IID
	.globl _CAN0BT
	.globl _CAN0ERR
	.globl _PCA1CP10
	.globl _PCA0CP4
	.globl _PCA1CP6
	.globl _PCA0CP0
	.globl _PCA1
	.globl _PCA0
	.globl _PCA1CP9
	.globl _PCA0CP3
	.globl _PCA1CP8
	.globl _PCA0CP2
	.globl _PCA1CP7
	.globl _PCA0CP1
	.globl _PCA1CP11
	.globl _PCA0CP5
	.globl _TMR4
	.globl _TMR2
	.globl _TMR4CAP
	.globl _TMR2RL
	.globl _ADC0LT
	.globl _ADC0GT
	.globl _ADC0
	.globl _SBRL0
	.globl _TMR5
	.globl _TMR3
	.globl _TMR5CAP
	.globl _TMR3RL
	.globl _DP
	.globl _CAN0IF2DB2H
	.globl _CAN0IF2DB2L
	.globl _CAN0IF2DB1H
	.globl _CAN0IF2DB1L
	.globl _CAN0IF2DA2H
	.globl _CAN0IF2DA2L
	.globl _CAN0IF2DA1H
	.globl _CAN0IF2DA1L
	.globl _CAN0IF2A2H
	.globl _CAN0IF2A2L
	.globl _CAN0IF2A1H
	.globl _CAN0IF2A1L
	.globl _CAN0IF2M2H
	.globl _CAN0IF2M2L
	.globl _CAN0IF2M1H
	.globl _CAN0IF2M1L
	.globl _CAN0IF2CMH
	.globl _CAN0IF2CML
	.globl _CAN0IF2CRH
	.globl _CAN0IF2CRL
	.globl _CAN0IF1DB2H
	.globl _CAN0IF1DB2L
	.globl _CAN0IF1DB1H
	.globl _CAN0IF1DB1L
	.globl _CAN0IF1DA2H
	.globl _CAN0IF1DA2L
	.globl _CAN0IF1DA1H
	.globl _CAN0IF1DA1L
	.globl _CAN0IF1MCH
	.globl _CAN0IF1MCL
	.globl _CAN0IF2MCH
	.globl _CAN0IF2MCL
	.globl _CAN0IF1A2H
	.globl _CAN0IF1A2L
	.globl _CAN0IF1A1H
	.globl _CAN0IF1A1L
	.globl _CAN0IF1M2H
	.globl _CAN0IF1M2L
	.globl _CAN0IF1M1H
	.globl _CAN0IF1M1L
	.globl _CAN0IF1CMH
	.globl _CAN0IF1CML
	.globl _CAN0CN
	.globl _CAN0IF1CRH
	.globl _CAN0IF1CRL
	.globl _CAN0MV2H
	.globl _CAN0MV2L
	.globl _CAN0MV1H
	.globl _CAN0MV1L
	.globl _CAN0IP2H
	.globl _CAN0IP2L
	.globl _CAN0IP1H
	.globl _CAN0IP1L
	.globl _CAN0ND2H
	.globl _CAN0ND2L
	.globl _CAN0ND1H
	.globl _CAN0ND1L
	.globl _CAN0TR2H
	.globl _CAN0TR2L
	.globl _CAN0TR1H
	.globl _CAN0TR1L
	.globl _CAN0BRPE
	.globl _CAN0TST
	.globl _CAN0IIDH
	.globl _CAN0IIDL
	.globl _CAN0BTH
	.globl _CAN0BTL
	.globl _CAN0ERRH
	.globl _CAN0ERRL
	.globl _CAN0STAT
	.globl _CAN0CFG
	.globl _VDM0CN
	.globl _PCA1CPH10
	.globl _PCA0CPH4
	.globl _PCA1CPL10
	.globl _PCA0CPL4
	.globl _SN3
	.globl _PCA1CPH6
	.globl _PCA0CPH0
	.globl _SN2
	.globl _PCA1CPL6
	.globl _PCA0CPL0
	.globl _SN1
	.globl _PCA1H
	.globl _PCA0H
	.globl _SN0
	.globl _PCA1L
	.globl _PCA0L
	.globl _SPI0CN
	.globl _EIP2
	.globl _EIP1
	.globl _PSBANK
	.globl _P3MDIN
	.globl _P1MASK
	.globl _P2MDIN
	.globl _P1MAT
	.globl _P1MDIN
	.globl _P0MASK
	.globl _P0MDIN
	.globl _P0MAT
	.globl _B
	.globl _RSTSRC
	.globl _PCA1CPH9
	.globl _PCA0CPH3
	.globl _PCA1CPL9
	.globl _PCA0CPL3
	.globl _PCA1CPH8
	.globl _PCA0CPH2
	.globl _PCA1CPL8
	.globl _PCA0CPL2
	.globl _PCA1CPH7
	.globl _PCA0CPH1
	.globl _PCA1CPL7
	.globl _PCA0CPL1
	.globl _ADC0CN
	.globl _EIE2
	.globl _EIE1
	.globl _IT01CF
	.globl _CCH0CN
	.globl _XBR1
	.globl _XBR0
	.globl _ACC
	.globl _PCA1CPM11
	.globl _PCA0CPM5
	.globl _PCA1CPM10
	.globl _PCA0CPM4
	.globl _PCA1CPM9
	.globl _PCA0CPM3
	.globl _PCA1CPM8
	.globl _PCA0CPM2
	.globl _PCA1CPM7
	.globl _PCA0CPM1
	.globl _PCA1PWM
	.globl _PCA1CPM6
	.globl _PCA0CPM0
	.globl _PCA0PWM
	.globl _PCA1MD
	.globl _PCA0MD
	.globl _PCA1CN
	.globl _PCA0CN
	.globl _P3SKIP
	.globl _P2SKIP
	.globl _P1SKIP
	.globl _P0SKIP
	.globl _LIN0ADR
	.globl _LIN0DAT
	.globl _REF0CN
	.globl _PSW
	.globl _PCA1CPH11
	.globl _PCA0CPH5
	.globl _PCA1CPL11
	.globl _PCA0CPL5
	.globl _TMR4H
	.globl _TMR2H
	.globl _TMR4L
	.globl _TMR2L
	.globl _TMR4CAPH
	.globl _TMR2RLH
	.globl _TMR4CAPL
	.globl _TMR2RLL
	.globl _TMR4CF
	.globl _LIN0CF
	.globl _REG0CN
	.globl _TMR4CN
	.globl _TMR2CN
	.globl _XBR2
	.globl _XBR3
	.globl _ADC0LTH
	.globl _ADC0LTL
	.globl _ADC0GTH
	.globl _ADC0GTL
	.globl _SMB0DAT
	.globl _SMB0CF
	.globl _SMB0CN
	.globl _ADC0H
	.globl _ADC0L
	.globl _ADC0CF
	.globl _ADC0MX
	.globl _SMB0ADM
	.globl _ADC0TK
	.globl _SMB0ADR
	.globl _IP
	.globl _FLKEY
	.globl _FLSCL
	.globl _P4
	.globl _EMI0CF
	.globl _P2MASK
	.globl _P2MAT
	.globl _P3
	.globl _P4MDOUT
	.globl _P3MASK
	.globl _P3MDOUT
	.globl _P3MAT
	.globl _SBRLH0
	.globl _SBRLL0
	.globl _SBCON0
	.globl _EMI0TC
	.globl _EMI0CN
	.globl _SMOD0
	.globl _IE
	.globl _SFRPAGE
	.globl _P2MDOUT
	.globl _P1MDOUT
	.globl _P0MDOUT
	.globl _SPI0DAT
	.globl _OSCICRS
	.globl _SPI0CKR
	.globl _OSCICN
	.globl _SPI0CFG
	.globl _P2
	.globl _OSCXCN
	.globl _CPT1MX
	.globl _OSCIFIN
	.globl _CPT1MD
	.globl _CPT1CN
	.globl _CPT2MX
	.globl _CPT0MX
	.globl _CPT2MD
	.globl _CPT0MD
	.globl _CPT2CN
	.globl _CPT0CN
	.globl _SBUF1
	.globl _SBUF0
	.globl _SCON1
	.globl _SCON0
	.globl _CLKMUL
	.globl _TMR5CF
	.globl _TMR5H
	.globl _TMR3H
	.globl _TMR5L
	.globl _TMR3L
	.globl _TMR5CAPH
	.globl _TMR3RLH
	.globl _TMR5CAPL
	.globl _TMR3RLL
	.globl _TMR5CN
	.globl _TMR3CN
	.globl _P1
	.globl _CLKSEL
	.globl _PSCTL
	.globl _CKCON
	.globl _TH1
	.globl _TH0
	.globl _TL1
	.globl _TL0
	.globl _TMOD
	.globl _TCON
	.globl _PCON
	.globl _SFRLAST
	.globl _SFRNEXT
	.globl _SFR0CN
	.globl _DPH
	.globl _DPL
	.globl _SP
	.globl _P0
	.globl _Ki
	.globl _Kp
	.globl _esum
	.globl _e
	.globl _MeasuredRotationalSpeed
	.globl _ReferenceRotationalSpeed
	.globl _u
	.globl _InitRotationalSpeedControlVariables
	.globl _RotationalSpeedControl
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (ABS,DATA)
	.org 0x0000
G$P0$0$0 == 0x0080
_P0	=	0x0080
G$SP$0$0 == 0x0081
_SP	=	0x0081
G$DPL$0$0 == 0x0082
_DPL	=	0x0082
G$DPH$0$0 == 0x0083
_DPH	=	0x0083
G$SFR0CN$0$0 == 0x0084
_SFR0CN	=	0x0084
G$SFRNEXT$0$0 == 0x0085
_SFRNEXT	=	0x0085
G$SFRLAST$0$0 == 0x0086
_SFRLAST	=	0x0086
G$PCON$0$0 == 0x0087
_PCON	=	0x0087
G$TCON$0$0 == 0x0088
_TCON	=	0x0088
G$TMOD$0$0 == 0x0089
_TMOD	=	0x0089
G$TL0$0$0 == 0x008a
_TL0	=	0x008a
G$TL1$0$0 == 0x008b
_TL1	=	0x008b
G$TH0$0$0 == 0x008c
_TH0	=	0x008c
G$TH1$0$0 == 0x008d
_TH1	=	0x008d
G$CKCON$0$0 == 0x008e
_CKCON	=	0x008e
G$PSCTL$0$0 == 0x008f
_PSCTL	=	0x008f
G$CLKSEL$0$0 == 0x008f
_CLKSEL	=	0x008f
G$P1$0$0 == 0x0090
_P1	=	0x0090
G$TMR3CN$0$0 == 0x0091
_TMR3CN	=	0x0091
G$TMR5CN$0$0 == 0x0091
_TMR5CN	=	0x0091
G$TMR3RLL$0$0 == 0x0092
_TMR3RLL	=	0x0092
G$TMR5CAPL$0$0 == 0x0092
_TMR5CAPL	=	0x0092
G$TMR3RLH$0$0 == 0x0093
_TMR3RLH	=	0x0093
G$TMR5CAPH$0$0 == 0x0093
_TMR5CAPH	=	0x0093
G$TMR3L$0$0 == 0x0094
_TMR3L	=	0x0094
G$TMR5L$0$0 == 0x0094
_TMR5L	=	0x0094
G$TMR3H$0$0 == 0x0095
_TMR3H	=	0x0095
G$TMR5H$0$0 == 0x0095
_TMR5H	=	0x0095
G$TMR5CF$0$0 == 0x0096
_TMR5CF	=	0x0096
G$CLKMUL$0$0 == 0x0097
_CLKMUL	=	0x0097
G$SCON0$0$0 == 0x0098
_SCON0	=	0x0098
G$SCON1$0$0 == 0x0098
_SCON1	=	0x0098
G$SBUF0$0$0 == 0x0099
_SBUF0	=	0x0099
G$SBUF1$0$0 == 0x0099
_SBUF1	=	0x0099
G$CPT0CN$0$0 == 0x009a
_CPT0CN	=	0x009a
G$CPT2CN$0$0 == 0x009a
_CPT2CN	=	0x009a
G$CPT0MD$0$0 == 0x009b
_CPT0MD	=	0x009b
G$CPT2MD$0$0 == 0x009b
_CPT2MD	=	0x009b
G$CPT0MX$0$0 == 0x009c
_CPT0MX	=	0x009c
G$CPT2MX$0$0 == 0x009c
_CPT2MX	=	0x009c
G$CPT1CN$0$0 == 0x009d
_CPT1CN	=	0x009d
G$CPT1MD$0$0 == 0x009e
_CPT1MD	=	0x009e
G$OSCIFIN$0$0 == 0x009e
_OSCIFIN	=	0x009e
G$CPT1MX$0$0 == 0x009f
_CPT1MX	=	0x009f
G$OSCXCN$0$0 == 0x009f
_OSCXCN	=	0x009f
G$P2$0$0 == 0x00a0
_P2	=	0x00a0
G$SPI0CFG$0$0 == 0x00a1
_SPI0CFG	=	0x00a1
G$OSCICN$0$0 == 0x00a1
_OSCICN	=	0x00a1
G$SPI0CKR$0$0 == 0x00a2
_SPI0CKR	=	0x00a2
G$OSCICRS$0$0 == 0x00a2
_OSCICRS	=	0x00a2
G$SPI0DAT$0$0 == 0x00a3
_SPI0DAT	=	0x00a3
G$P0MDOUT$0$0 == 0x00a4
_P0MDOUT	=	0x00a4
G$P1MDOUT$0$0 == 0x00a5
_P1MDOUT	=	0x00a5
G$P2MDOUT$0$0 == 0x00a6
_P2MDOUT	=	0x00a6
G$SFRPAGE$0$0 == 0x00a7
_SFRPAGE	=	0x00a7
G$IE$0$0 == 0x00a8
_IE	=	0x00a8
G$SMOD0$0$0 == 0x00a9
_SMOD0	=	0x00a9
G$EMI0CN$0$0 == 0x00aa
_EMI0CN	=	0x00aa
G$EMI0TC$0$0 == 0x00aa
_EMI0TC	=	0x00aa
G$SBCON0$0$0 == 0x00ab
_SBCON0	=	0x00ab
G$SBRLL0$0$0 == 0x00ac
_SBRLL0	=	0x00ac
G$SBRLH0$0$0 == 0x00ad
_SBRLH0	=	0x00ad
G$P3MAT$0$0 == 0x00ae
_P3MAT	=	0x00ae
G$P3MDOUT$0$0 == 0x00ae
_P3MDOUT	=	0x00ae
G$P3MASK$0$0 == 0x00af
_P3MASK	=	0x00af
G$P4MDOUT$0$0 == 0x00af
_P4MDOUT	=	0x00af
G$P3$0$0 == 0x00b0
_P3	=	0x00b0
G$P2MAT$0$0 == 0x00b1
_P2MAT	=	0x00b1
G$P2MASK$0$0 == 0x00b2
_P2MASK	=	0x00b2
G$EMI0CF$0$0 == 0x00b2
_EMI0CF	=	0x00b2
G$P4$0$0 == 0x00b5
_P4	=	0x00b5
G$FLSCL$0$0 == 0x00b6
_FLSCL	=	0x00b6
G$FLKEY$0$0 == 0x00b7
_FLKEY	=	0x00b7
G$IP$0$0 == 0x00b8
_IP	=	0x00b8
G$SMB0ADR$0$0 == 0x00b9
_SMB0ADR	=	0x00b9
G$ADC0TK$0$0 == 0x00ba
_ADC0TK	=	0x00ba
G$SMB0ADM$0$0 == 0x00ba
_SMB0ADM	=	0x00ba
G$ADC0MX$0$0 == 0x00bb
_ADC0MX	=	0x00bb
G$ADC0CF$0$0 == 0x00bc
_ADC0CF	=	0x00bc
G$ADC0L$0$0 == 0x00bd
_ADC0L	=	0x00bd
G$ADC0H$0$0 == 0x00be
_ADC0H	=	0x00be
G$SMB0CN$0$0 == 0x00c0
_SMB0CN	=	0x00c0
G$SMB0CF$0$0 == 0x00c1
_SMB0CF	=	0x00c1
G$SMB0DAT$0$0 == 0x00c2
_SMB0DAT	=	0x00c2
G$ADC0GTL$0$0 == 0x00c3
_ADC0GTL	=	0x00c3
G$ADC0GTH$0$0 == 0x00c4
_ADC0GTH	=	0x00c4
G$ADC0LTL$0$0 == 0x00c5
_ADC0LTL	=	0x00c5
G$ADC0LTH$0$0 == 0x00c6
_ADC0LTH	=	0x00c6
G$XBR3$0$0 == 0x00c6
_XBR3	=	0x00c6
G$XBR2$0$0 == 0x00c7
_XBR2	=	0x00c7
G$TMR2CN$0$0 == 0x00c8
_TMR2CN	=	0x00c8
G$TMR4CN$0$0 == 0x00c8
_TMR4CN	=	0x00c8
G$REG0CN$0$0 == 0x00c9
_REG0CN	=	0x00c9
G$LIN0CF$0$0 == 0x00c9
_LIN0CF	=	0x00c9
G$TMR4CF$0$0 == 0x00c9
_TMR4CF	=	0x00c9
G$TMR2RLL$0$0 == 0x00ca
_TMR2RLL	=	0x00ca
G$TMR4CAPL$0$0 == 0x00ca
_TMR4CAPL	=	0x00ca
G$TMR2RLH$0$0 == 0x00cb
_TMR2RLH	=	0x00cb
G$TMR4CAPH$0$0 == 0x00cb
_TMR4CAPH	=	0x00cb
G$TMR2L$0$0 == 0x00cc
_TMR2L	=	0x00cc
G$TMR4L$0$0 == 0x00cc
_TMR4L	=	0x00cc
G$TMR2H$0$0 == 0x00cd
_TMR2H	=	0x00cd
G$TMR4H$0$0 == 0x00cd
_TMR4H	=	0x00cd
G$PCA0CPL5$0$0 == 0x00ce
_PCA0CPL5	=	0x00ce
G$PCA1CPL11$0$0 == 0x00ce
_PCA1CPL11	=	0x00ce
G$PCA0CPH5$0$0 == 0x00cf
_PCA0CPH5	=	0x00cf
G$PCA1CPH11$0$0 == 0x00cf
_PCA1CPH11	=	0x00cf
G$PSW$0$0 == 0x00d0
_PSW	=	0x00d0
G$REF0CN$0$0 == 0x00d1
_REF0CN	=	0x00d1
G$LIN0DAT$0$0 == 0x00d2
_LIN0DAT	=	0x00d2
G$LIN0ADR$0$0 == 0x00d3
_LIN0ADR	=	0x00d3
G$P0SKIP$0$0 == 0x00d4
_P0SKIP	=	0x00d4
G$P1SKIP$0$0 == 0x00d5
_P1SKIP	=	0x00d5
G$P2SKIP$0$0 == 0x00d6
_P2SKIP	=	0x00d6
G$P3SKIP$0$0 == 0x00d7
_P3SKIP	=	0x00d7
G$PCA0CN$0$0 == 0x00d8
_PCA0CN	=	0x00d8
G$PCA1CN$0$0 == 0x00d8
_PCA1CN	=	0x00d8
G$PCA0MD$0$0 == 0x00d9
_PCA0MD	=	0x00d9
G$PCA1MD$0$0 == 0x00d9
_PCA1MD	=	0x00d9
G$PCA0PWM$0$0 == 0x00d9
_PCA0PWM	=	0x00d9
G$PCA0CPM0$0$0 == 0x00da
_PCA0CPM0	=	0x00da
G$PCA1CPM6$0$0 == 0x00da
_PCA1CPM6	=	0x00da
G$PCA1PWM$0$0 == 0x00da
_PCA1PWM	=	0x00da
G$PCA0CPM1$0$0 == 0x00db
_PCA0CPM1	=	0x00db
G$PCA1CPM7$0$0 == 0x00db
_PCA1CPM7	=	0x00db
G$PCA0CPM2$0$0 == 0x00dc
_PCA0CPM2	=	0x00dc
G$PCA1CPM8$0$0 == 0x00dc
_PCA1CPM8	=	0x00dc
G$PCA0CPM3$0$0 == 0x00dd
_PCA0CPM3	=	0x00dd
G$PCA1CPM9$0$0 == 0x00dd
_PCA1CPM9	=	0x00dd
G$PCA0CPM4$0$0 == 0x00de
_PCA0CPM4	=	0x00de
G$PCA1CPM10$0$0 == 0x00de
_PCA1CPM10	=	0x00de
G$PCA0CPM5$0$0 == 0x00df
_PCA0CPM5	=	0x00df
G$PCA1CPM11$0$0 == 0x00df
_PCA1CPM11	=	0x00df
G$ACC$0$0 == 0x00e0
_ACC	=	0x00e0
G$XBR0$0$0 == 0x00e1
_XBR0	=	0x00e1
G$XBR1$0$0 == 0x00e2
_XBR1	=	0x00e2
G$CCH0CN$0$0 == 0x00e3
_CCH0CN	=	0x00e3
G$IT01CF$0$0 == 0x00e4
_IT01CF	=	0x00e4
G$EIE1$0$0 == 0x00e6
_EIE1	=	0x00e6
G$EIE2$0$0 == 0x00e7
_EIE2	=	0x00e7
G$ADC0CN$0$0 == 0x00e8
_ADC0CN	=	0x00e8
G$PCA0CPL1$0$0 == 0x00e9
_PCA0CPL1	=	0x00e9
G$PCA1CPL7$0$0 == 0x00e9
_PCA1CPL7	=	0x00e9
G$PCA0CPH1$0$0 == 0x00ea
_PCA0CPH1	=	0x00ea
G$PCA1CPH7$0$0 == 0x00ea
_PCA1CPH7	=	0x00ea
G$PCA0CPL2$0$0 == 0x00eb
_PCA0CPL2	=	0x00eb
G$PCA1CPL8$0$0 == 0x00eb
_PCA1CPL8	=	0x00eb
G$PCA0CPH2$0$0 == 0x00ec
_PCA0CPH2	=	0x00ec
G$PCA1CPH8$0$0 == 0x00ec
_PCA1CPH8	=	0x00ec
G$PCA0CPL3$0$0 == 0x00ed
_PCA0CPL3	=	0x00ed
G$PCA1CPL9$0$0 == 0x00ed
_PCA1CPL9	=	0x00ed
G$PCA0CPH3$0$0 == 0x00ee
_PCA0CPH3	=	0x00ee
G$PCA1CPH9$0$0 == 0x00ee
_PCA1CPH9	=	0x00ee
G$RSTSRC$0$0 == 0x00ef
_RSTSRC	=	0x00ef
G$B$0$0 == 0x00f0
_B	=	0x00f0
G$P0MAT$0$0 == 0x00f1
_P0MAT	=	0x00f1
G$P0MDIN$0$0 == 0x00f1
_P0MDIN	=	0x00f1
G$P0MASK$0$0 == 0x00f2
_P0MASK	=	0x00f2
G$P1MDIN$0$0 == 0x00f2
_P1MDIN	=	0x00f2
G$P1MAT$0$0 == 0x00f3
_P1MAT	=	0x00f3
G$P2MDIN$0$0 == 0x00f3
_P2MDIN	=	0x00f3
G$P1MASK$0$0 == 0x00f4
_P1MASK	=	0x00f4
G$P3MDIN$0$0 == 0x00f4
_P3MDIN	=	0x00f4
G$PSBANK$0$0 == 0x00f5
_PSBANK	=	0x00f5
G$EIP1$0$0 == 0x00f6
_EIP1	=	0x00f6
G$EIP2$0$0 == 0x00f7
_EIP2	=	0x00f7
G$SPI0CN$0$0 == 0x00f8
_SPI0CN	=	0x00f8
G$PCA0L$0$0 == 0x00f9
_PCA0L	=	0x00f9
G$PCA1L$0$0 == 0x00f9
_PCA1L	=	0x00f9
G$SN0$0$0 == 0x00f9
_SN0	=	0x00f9
G$PCA0H$0$0 == 0x00fa
_PCA0H	=	0x00fa
G$PCA1H$0$0 == 0x00fa
_PCA1H	=	0x00fa
G$SN1$0$0 == 0x00fa
_SN1	=	0x00fa
G$PCA0CPL0$0$0 == 0x00fb
_PCA0CPL0	=	0x00fb
G$PCA1CPL6$0$0 == 0x00fb
_PCA1CPL6	=	0x00fb
G$SN2$0$0 == 0x00fb
_SN2	=	0x00fb
G$PCA0CPH0$0$0 == 0x00fc
_PCA0CPH0	=	0x00fc
G$PCA1CPH6$0$0 == 0x00fc
_PCA1CPH6	=	0x00fc
G$SN3$0$0 == 0x00fc
_SN3	=	0x00fc
G$PCA0CPL4$0$0 == 0x00fd
_PCA0CPL4	=	0x00fd
G$PCA1CPL10$0$0 == 0x00fd
_PCA1CPL10	=	0x00fd
G$PCA0CPH4$0$0 == 0x00fe
_PCA0CPH4	=	0x00fe
G$PCA1CPH10$0$0 == 0x00fe
_PCA1CPH10	=	0x00fe
G$VDM0CN$0$0 == 0x00ff
_VDM0CN	=	0x00ff
G$CAN0CFG$0$0 == 0x0092
_CAN0CFG	=	0x0092
G$CAN0STAT$0$0 == 0x0094
_CAN0STAT	=	0x0094
G$CAN0ERRL$0$0 == 0x0096
_CAN0ERRL	=	0x0096
G$CAN0ERRH$0$0 == 0x0097
_CAN0ERRH	=	0x0097
G$CAN0BTL$0$0 == 0x009a
_CAN0BTL	=	0x009a
G$CAN0BTH$0$0 == 0x009b
_CAN0BTH	=	0x009b
G$CAN0IIDL$0$0 == 0x009c
_CAN0IIDL	=	0x009c
G$CAN0IIDH$0$0 == 0x009d
_CAN0IIDH	=	0x009d
G$CAN0TST$0$0 == 0x009e
_CAN0TST	=	0x009e
G$CAN0BRPE$0$0 == 0x00a1
_CAN0BRPE	=	0x00a1
G$CAN0TR1L$0$0 == 0x00a2
_CAN0TR1L	=	0x00a2
G$CAN0TR1H$0$0 == 0x00a3
_CAN0TR1H	=	0x00a3
G$CAN0TR2L$0$0 == 0x00a4
_CAN0TR2L	=	0x00a4
G$CAN0TR2H$0$0 == 0x00a5
_CAN0TR2H	=	0x00a5
G$CAN0ND1L$0$0 == 0x00aa
_CAN0ND1L	=	0x00aa
G$CAN0ND1H$0$0 == 0x00ab
_CAN0ND1H	=	0x00ab
G$CAN0ND2L$0$0 == 0x00ac
_CAN0ND2L	=	0x00ac
G$CAN0ND2H$0$0 == 0x00ad
_CAN0ND2H	=	0x00ad
G$CAN0IP1L$0$0 == 0x00ae
_CAN0IP1L	=	0x00ae
G$CAN0IP1H$0$0 == 0x00af
_CAN0IP1H	=	0x00af
G$CAN0IP2L$0$0 == 0x00b2
_CAN0IP2L	=	0x00b2
G$CAN0IP2H$0$0 == 0x00b3
_CAN0IP2H	=	0x00b3
G$CAN0MV1L$0$0 == 0x00ba
_CAN0MV1L	=	0x00ba
G$CAN0MV1H$0$0 == 0x00bb
_CAN0MV1H	=	0x00bb
G$CAN0MV2L$0$0 == 0x00bc
_CAN0MV2L	=	0x00bc
G$CAN0MV2H$0$0 == 0x00bd
_CAN0MV2H	=	0x00bd
G$CAN0IF1CRL$0$0 == 0x00be
_CAN0IF1CRL	=	0x00be
G$CAN0IF1CRH$0$0 == 0x00bf
_CAN0IF1CRH	=	0x00bf
G$CAN0CN$0$0 == 0x00c0
_CAN0CN	=	0x00c0
G$CAN0IF1CML$0$0 == 0x00c2
_CAN0IF1CML	=	0x00c2
G$CAN0IF1CMH$0$0 == 0x00c3
_CAN0IF1CMH	=	0x00c3
G$CAN0IF1M1L$0$0 == 0x00c4
_CAN0IF1M1L	=	0x00c4
G$CAN0IF1M1H$0$0 == 0x00c5
_CAN0IF1M1H	=	0x00c5
G$CAN0IF1M2L$0$0 == 0x00c6
_CAN0IF1M2L	=	0x00c6
G$CAN0IF1M2H$0$0 == 0x00c7
_CAN0IF1M2H	=	0x00c7
G$CAN0IF1A1L$0$0 == 0x00ca
_CAN0IF1A1L	=	0x00ca
G$CAN0IF1A1H$0$0 == 0x00cb
_CAN0IF1A1H	=	0x00cb
G$CAN0IF1A2L$0$0 == 0x00cc
_CAN0IF1A2L	=	0x00cc
G$CAN0IF1A2H$0$0 == 0x00cd
_CAN0IF1A2H	=	0x00cd
G$CAN0IF2MCL$0$0 == 0x00ce
_CAN0IF2MCL	=	0x00ce
G$CAN0IF2MCH$0$0 == 0x00cf
_CAN0IF2MCH	=	0x00cf
G$CAN0IF1MCL$0$0 == 0x00d2
_CAN0IF1MCL	=	0x00d2
G$CAN0IF1MCH$0$0 == 0x00d3
_CAN0IF1MCH	=	0x00d3
G$CAN0IF1DA1L$0$0 == 0x00d4
_CAN0IF1DA1L	=	0x00d4
G$CAN0IF1DA1H$0$0 == 0x00d5
_CAN0IF1DA1H	=	0x00d5
G$CAN0IF1DA2L$0$0 == 0x00d6
_CAN0IF1DA2L	=	0x00d6
G$CAN0IF1DA2H$0$0 == 0x00d7
_CAN0IF1DA2H	=	0x00d7
G$CAN0IF1DB1L$0$0 == 0x00da
_CAN0IF1DB1L	=	0x00da
G$CAN0IF1DB1H$0$0 == 0x00db
_CAN0IF1DB1H	=	0x00db
G$CAN0IF1DB2L$0$0 == 0x00dc
_CAN0IF1DB2L	=	0x00dc
G$CAN0IF1DB2H$0$0 == 0x00dd
_CAN0IF1DB2H	=	0x00dd
G$CAN0IF2CRL$0$0 == 0x00de
_CAN0IF2CRL	=	0x00de
G$CAN0IF2CRH$0$0 == 0x00df
_CAN0IF2CRH	=	0x00df
G$CAN0IF2CML$0$0 == 0x00e2
_CAN0IF2CML	=	0x00e2
G$CAN0IF2CMH$0$0 == 0x00e3
_CAN0IF2CMH	=	0x00e3
G$CAN0IF2M1L$0$0 == 0x00ea
_CAN0IF2M1L	=	0x00ea
G$CAN0IF2M1H$0$0 == 0x00eb
_CAN0IF2M1H	=	0x00eb
G$CAN0IF2M2L$0$0 == 0x00ec
_CAN0IF2M2L	=	0x00ec
G$CAN0IF2M2H$0$0 == 0x00ed
_CAN0IF2M2H	=	0x00ed
G$CAN0IF2A1L$0$0 == 0x00ee
_CAN0IF2A1L	=	0x00ee
G$CAN0IF2A1H$0$0 == 0x00ef
_CAN0IF2A1H	=	0x00ef
G$CAN0IF2A2L$0$0 == 0x00f2
_CAN0IF2A2L	=	0x00f2
G$CAN0IF2A2H$0$0 == 0x00f3
_CAN0IF2A2H	=	0x00f3
G$CAN0IF2DA1L$0$0 == 0x00f6
_CAN0IF2DA1L	=	0x00f6
G$CAN0IF2DA1H$0$0 == 0x00f7
_CAN0IF2DA1H	=	0x00f7
G$CAN0IF2DA2L$0$0 == 0x00fa
_CAN0IF2DA2L	=	0x00fa
G$CAN0IF2DA2H$0$0 == 0x00fb
_CAN0IF2DA2H	=	0x00fb
G$CAN0IF2DB1L$0$0 == 0x00fc
_CAN0IF2DB1L	=	0x00fc
G$CAN0IF2DB1H$0$0 == 0x00fd
_CAN0IF2DB1H	=	0x00fd
G$CAN0IF2DB2L$0$0 == 0x00fe
_CAN0IF2DB2L	=	0x00fe
G$CAN0IF2DB2H$0$0 == 0x00ff
_CAN0IF2DB2H	=	0x00ff
G$DP$0$0 == 0x8382
_DP	=	0x8382
G$TMR3RL$0$0 == 0x9392
_TMR3RL	=	0x9392
G$TMR5CAP$0$0 == 0x9392
_TMR5CAP	=	0x9392
G$TMR3$0$0 == 0x9594
_TMR3	=	0x9594
G$TMR5$0$0 == 0x9594
_TMR5	=	0x9594
G$SBRL0$0$0 == 0xadac
_SBRL0	=	0xadac
G$ADC0$0$0 == 0xbebd
_ADC0	=	0xbebd
G$ADC0GT$0$0 == 0xc4c3
_ADC0GT	=	0xc4c3
G$ADC0LT$0$0 == 0xc6c5
_ADC0LT	=	0xc6c5
G$TMR2RL$0$0 == 0xcbca
_TMR2RL	=	0xcbca
G$TMR4CAP$0$0 == 0xcbca
_TMR4CAP	=	0xcbca
G$TMR2$0$0 == 0xcdcc
_TMR2	=	0xcdcc
G$TMR4$0$0 == 0xcdcc
_TMR4	=	0xcdcc
G$PCA0CP5$0$0 == 0xcfce
_PCA0CP5	=	0xcfce
G$PCA1CP11$0$0 == 0xcfce
_PCA1CP11	=	0xcfce
G$PCA0CP1$0$0 == 0xeae9
_PCA0CP1	=	0xeae9
G$PCA1CP7$0$0 == 0xeae9
_PCA1CP7	=	0xeae9
G$PCA0CP2$0$0 == 0xeceb
_PCA0CP2	=	0xeceb
G$PCA1CP8$0$0 == 0xeceb
_PCA1CP8	=	0xeceb
G$PCA0CP3$0$0 == 0xeeed
_PCA0CP3	=	0xeeed
G$PCA1CP9$0$0 == 0xeeed
_PCA1CP9	=	0xeeed
G$PCA0$0$0 == 0xfaf9
_PCA0	=	0xfaf9
G$PCA1$0$0 == 0xfaf9
_PCA1	=	0xfaf9
G$PCA0CP0$0$0 == 0xfcfb
_PCA0CP0	=	0xfcfb
G$PCA1CP6$0$0 == 0xfcfb
_PCA1CP6	=	0xfcfb
G$PCA0CP4$0$0 == 0xfefd
_PCA0CP4	=	0xfefd
G$PCA1CP10$0$0 == 0xfefd
_PCA1CP10	=	0xfefd
G$CAN0ERR$0$0 == 0x9796
_CAN0ERR	=	0x9796
G$CAN0BT$0$0 == 0x9b9a
_CAN0BT	=	0x9b9a
G$CAN0IID$0$0 == 0x9d9c
_CAN0IID	=	0x9d9c
G$CAN0TR1$0$0 == 0xa3a2
_CAN0TR1	=	0xa3a2
G$CAN0TR2$0$0 == 0xa5a4
_CAN0TR2	=	0xa5a4
G$CAN0ND1$0$0 == 0xabaa
_CAN0ND1	=	0xabaa
G$CAN0ND2$0$0 == 0xadac
_CAN0ND2	=	0xadac
G$CAN0IP1$0$0 == 0xafae
_CAN0IP1	=	0xafae
G$CAN0IP2$0$0 == 0xb3b2
_CAN0IP2	=	0xb3b2
G$CAN0MV1$0$0 == 0xbbba
_CAN0MV1	=	0xbbba
G$CAN0MV2$0$0 == 0xbdbc
_CAN0MV2	=	0xbdbc
G$CAN0IF1CR$0$0 == 0xbfbe
_CAN0IF1CR	=	0xbfbe
G$CAN0IF1CM$0$0 == 0xc3c2
_CAN0IF1CM	=	0xc3c2
G$CAN0IF1M1$0$0 == 0xc5c4
_CAN0IF1M1	=	0xc5c4
G$CAN0IF1M2$0$0 == 0xc7c6
_CAN0IF1M2	=	0xc7c6
G$CAN0IF1A1$0$0 == 0xcbca
_CAN0IF1A1	=	0xcbca
G$CAN0IF1A2$0$0 == 0xcdcc
_CAN0IF1A2	=	0xcdcc
G$CAN0IF1MC$0$0 == 0xd3d2
_CAN0IF1MC	=	0xd3d2
G$CAN0IF1DA1$0$0 == 0xd5d4
_CAN0IF1DA1	=	0xd5d4
G$CAN0IF1DA2$0$0 == 0xd7d6
_CAN0IF1DA2	=	0xd7d6
G$CAN0IF1DB1$0$0 == 0xdbda
_CAN0IF1DB1	=	0xdbda
G$CAN0IF1DB2$0$0 == 0xdddc
_CAN0IF1DB2	=	0xdddc
G$CAN0IF2CR$0$0 == 0xdfde
_CAN0IF2CR	=	0xdfde
G$CAN0IF2CM$0$0 == 0xe3e2
_CAN0IF2CM	=	0xe3e2
G$CAN0IF2M1$0$0 == 0xebea
_CAN0IF2M1	=	0xebea
G$CAN0IF2M2$0$0 == 0xedec
_CAN0IF2M2	=	0xedec
G$CAN0IF2A1$0$0 == 0xefee
_CAN0IF2A1	=	0xefee
G$CAN0IF2A2$0$0 == 0xf3f2
_CAN0IF2A2	=	0xf3f2
G$CAN0IF2MC$0$0 == 0xf5f4
_CAN0IF2MC	=	0xf5f4
G$CAN0IF2DA1$0$0 == 0xf7f6
_CAN0IF2DA1	=	0xf7f6
G$CAN0IF2DA2$0$0 == 0xfbfa
_CAN0IF2DA2	=	0xfbfa
G$CAN0IF2DB1$0$0 == 0xfdfc
_CAN0IF2DB1	=	0xfdfc
G$CAN0IF2DB2$0$0 == 0xfffe
_CAN0IF2DB2	=	0xfffe
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (ABS,DATA)
	.org 0x0000
G$TF1$0$0 == 0x008f
_TF1	=	0x008f
G$TR1$0$0 == 0x008e
_TR1	=	0x008e
G$TF0$0$0 == 0x008d
_TF0	=	0x008d
G$TR0$0$0 == 0x008c
_TR0	=	0x008c
G$IE1$0$0 == 0x008b
_IE1	=	0x008b
G$IT1$0$0 == 0x008a
_IT1	=	0x008a
G$IE0$0$0 == 0x0089
_IE0	=	0x0089
G$IT0$0$0 == 0x0088
_IT0	=	0x0088
G$S0MODE$0$0 == 0x009f
_S0MODE	=	0x009f
G$MCE0$0$0 == 0x009d
_MCE0	=	0x009d
G$REN0$0$0 == 0x009c
_REN0	=	0x009c
G$TB80$0$0 == 0x009b
_TB80	=	0x009b
G$RB80$0$0 == 0x009a
_RB80	=	0x009a
G$TI0$0$0 == 0x0099
_TI0	=	0x0099
G$RI0$0$0 == 0x0098
_RI0	=	0x0098
G$S1MODE$0$0 == 0x009f
_S1MODE	=	0x009f
G$MCE1$0$0 == 0x009d
_MCE1	=	0x009d
G$REN1$0$0 == 0x009c
_REN1	=	0x009c
G$TB81$0$0 == 0x009b
_TB81	=	0x009b
G$RB81$0$0 == 0x009a
_RB81	=	0x009a
G$TI1$0$0 == 0x0099
_TI1	=	0x0099
G$RI1$0$0 == 0x0098
_RI1	=	0x0098
G$EA$0$0 == 0x00af
_EA	=	0x00af
G$ESPI0$0$0 == 0x00ae
_ESPI0	=	0x00ae
G$ET2$0$0 == 0x00ad
_ET2	=	0x00ad
G$ES0$0$0 == 0x00ac
_ES0	=	0x00ac
G$ET1$0$0 == 0x00ab
_ET1	=	0x00ab
G$EX1$0$0 == 0x00aa
_EX1	=	0x00aa
G$ET0$0$0 == 0x00a9
_ET0	=	0x00a9
G$EX0$0$0 == 0x00a8
_EX0	=	0x00a8
G$PSPI0$0$0 == 0x00be
_PSPI0	=	0x00be
G$PT2$0$0 == 0x00bd
_PT2	=	0x00bd
G$PS0$0$0 == 0x00bc
_PS0	=	0x00bc
G$PS$0$0 == 0x00bc
_PS	=	0x00bc
G$PT1$0$0 == 0x00bb
_PT1	=	0x00bb
G$PX1$0$0 == 0x00ba
_PX1	=	0x00ba
G$PT0$0$0 == 0x00b9
_PT0	=	0x00b9
G$PX0$0$0 == 0x00b8
_PX0	=	0x00b8
G$MASTER$0$0 == 0x00c7
_MASTER	=	0x00c7
G$TXMODE$0$0 == 0x00c6
_TXMODE	=	0x00c6
G$STA$0$0 == 0x00c5
_STA	=	0x00c5
G$STO$0$0 == 0x00c4
_STO	=	0x00c4
G$ACKRQ$0$0 == 0x00c3
_ACKRQ	=	0x00c3
G$ARBLOST$0$0 == 0x00c2
_ARBLOST	=	0x00c2
G$ACK$0$0 == 0x00c1
_ACK	=	0x00c1
G$SI$0$0 == 0x00c0
_SI	=	0x00c0
G$TF2H$0$0 == 0x00cf
_TF2H	=	0x00cf
G$TF2L$0$0 == 0x00ce
_TF2L	=	0x00ce
G$TF2LEN$0$0 == 0x00cd
_TF2LEN	=	0x00cd
G$TF2CEN$0$0 == 0x00cc
_TF2CEN	=	0x00cc
G$T2SPLIT$0$0 == 0x00cb
_T2SPLIT	=	0x00cb
G$TR2$0$0 == 0x00ca
_TR2	=	0x00ca
G$T2RCLK$0$0 == 0x00c9
_T2RCLK	=	0x00c9
G$T2XCLK$0$0 == 0x00c8
_T2XCLK	=	0x00c8
G$TF4$0$0 == 0x00cf
_TF4	=	0x00cf
G$EXF4$0$0 == 0x00ce
_EXF4	=	0x00ce
G$EXE4$0$0 == 0x00cb
_EXE4	=	0x00cb
G$TR4$0$0 == 0x00ca
_TR4	=	0x00ca
G$CT4$0$0 == 0x00c9
_CT4	=	0x00c9
G$CPRL4$0$0 == 0x00c8
_CPRL4	=	0x00c8
G$CY$0$0 == 0x00d7
_CY	=	0x00d7
G$AC$0$0 == 0x00d6
_AC	=	0x00d6
G$F0$0$0 == 0x00d5
_F0	=	0x00d5
G$RS1$0$0 == 0x00d4
_RS1	=	0x00d4
G$RS0$0$0 == 0x00d3
_RS0	=	0x00d3
G$OV$0$0 == 0x00d2
_OV	=	0x00d2
G$F1$0$0 == 0x00d1
_F1	=	0x00d1
G$P$0$0 == 0x00d0
_P	=	0x00d0
G$CF$0$0 == 0x00df
_CF	=	0x00df
G$CR$0$0 == 0x00de
_CR	=	0x00de
G$CCF5$0$0 == 0x00dd
_CCF5	=	0x00dd
G$CCF4$0$0 == 0x00dc
_CCF4	=	0x00dc
G$CCF3$0$0 == 0x00db
_CCF3	=	0x00db
G$CCF2$0$0 == 0x00da
_CCF2	=	0x00da
G$CCF1$0$0 == 0x00d9
_CCF1	=	0x00d9
G$CCF0$0$0 == 0x00d8
_CCF0	=	0x00d8
G$CF1$0$0 == 0x00df
_CF1	=	0x00df
G$CR1$0$0 == 0x00de
_CR1	=	0x00de
G$CCF11$0$0 == 0x00dd
_CCF11	=	0x00dd
G$CCF10$0$0 == 0x00dc
_CCF10	=	0x00dc
G$CCF9$0$0 == 0x00db
_CCF9	=	0x00db
G$CCF8$0$0 == 0x00da
_CCF8	=	0x00da
G$CCF7$0$0 == 0x00d9
_CCF7	=	0x00d9
G$CCF6$0$0 == 0x00d8
_CCF6	=	0x00d8
G$AD0EN$0$0 == 0x00ef
_AD0EN	=	0x00ef
G$BURSTEN$0$0 == 0x00ee
_BURSTEN	=	0x00ee
G$AD0INT$0$0 == 0x00ed
_AD0INT	=	0x00ed
G$AD0BUSY$0$0 == 0x00ec
_AD0BUSY	=	0x00ec
G$AD0WINT$0$0 == 0x00eb
_AD0WINT	=	0x00eb
G$AD0LJST$0$0 == 0x00ea
_AD0LJST	=	0x00ea
G$AD0CM1$0$0 == 0x00e9
_AD0CM1	=	0x00e9
G$AD0CM0$0$0 == 0x00e8
_AD0CM0	=	0x00e8
G$SPIF$0$0 == 0x00ff
_SPIF	=	0x00ff
G$WCOL$0$0 == 0x00fe
_WCOL	=	0x00fe
G$MODF$0$0 == 0x00fd
_MODF	=	0x00fd
G$RXOVRN$0$0 == 0x00fc
_RXOVRN	=	0x00fc
G$NSSMD1$0$0 == 0x00fb
_NSSMD1	=	0x00fb
G$NSSMD0$0$0 == 0x00fa
_NSSMD0	=	0x00fa
G$TXBMT$0$0 == 0x00f9
_TXBMT	=	0x00f9
G$SPIEN$0$0 == 0x00f8
_SPIEN	=	0x00f8
G$LED$0$0 == 0x00a0
_LED	=	0x00a0
G$START$0$0 == 0x00a1
_START	=	0x00a1
G$DIRECTION_M1$0$0 == 0x00a3
_DIRECTION_M1	=	0x00a3
G$DIRECTION_M2$0$0 == 0x00a4
_DIRECTION_M2	=	0x00a4
G$DIRECTION_M3$0$0 == 0x00a5
_DIRECTION_M3	=	0x00a5
G$ENABLE$0$0 == 0x00a6
_ENABLE	=	0x00a6
G$DIR1B0$0$0 == 0x00b0
_DIR1B0	=	0x00b0
G$DIR1B1$0$0 == 0x00b1
_DIR1B1	=	0x00b1
G$DIR2B0$0$0 == 0x00b2
_DIR2B0	=	0x00b2
G$DIR2B1$0$0 == 0x00b3
_DIR2B1	=	0x00b3
G$DIR3B0$0$0 == 0x00b4
_DIR3B0	=	0x00b4
G$DIR3B1$0$0 == 0x00b5
_DIR3B1	=	0x00b5
G$NSS4$0$0 == 0x0097
_NSS4	=	0x0097
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
LRotationalSpeedControl.RotationalSpeedControl$sloc0$1$0==.
_RotationalSpeedControl_sloc0_1_0:
	.ds 1
LRotationalSpeedControl.RotationalSpeedControl$sloc1$1$0==.
_RotationalSpeedControl_sloc1_1_0:
	.ds 4
LRotationalSpeedControl.RotationalSpeedControl$sloc2$1$0==.
_RotationalSpeedControl_sloc2_1_0:
	.ds 4
LRotationalSpeedControl.RotationalSpeedControl$sloc3$1$0==.
_RotationalSpeedControl_sloc3_1_0:
	.ds 4
LRotationalSpeedControl.RotationalSpeedControl$sloc4$1$0==.
_RotationalSpeedControl_sloc4_1_0:
	.ds 4
LRotationalSpeedControl.RotationalSpeedControl$sloc5$1$0==.
_RotationalSpeedControl_sloc5_1_0:
	.ds 2
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; absolute internal ram data
;--------------------------------------------------------
	.area IABS    (ABS,DATA)
	.area IABS    (ABS,DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
G$u$0$0==.
_u::
	.ds 4
G$ReferenceRotationalSpeed$0$0==.
_ReferenceRotationalSpeed::
	.ds 12
G$MeasuredRotationalSpeed$0$0==.
_MeasuredRotationalSpeed::
	.ds 12
G$e$0$0==.
_e::
	.ds 12
G$esum$0$0==.
_esum::
	.ds 12
G$Kp$0$0==.
_Kp::
	.ds 12
G$Ki$0$0==.
_Ki::
	.ds 12
LRotationalSpeedControl.RotationalSpeedControl$Motor$1$28==.
_RotationalSpeedControl_Motor_1_28:
	.ds 1
;--------------------------------------------------------
; absolute external ram data
;--------------------------------------------------------
	.area XABS    (ABS,XDATA)
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area HOME    (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'InitRotationalSpeedControlVariables'
;------------------------------------------------------------
;i                         Allocated with name '_InitRotationalSpeedControlVariables_i_1_26'
;------------------------------------------------------------
	G$InitRotationalSpeedControlVariables$0$0 ==.
	C$RotationalSpeedControl.c$15$0$0 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:15: void InitRotationalSpeedControlVariables (void) {
;	-----------------------------------------
;	 function InitRotationalSpeedControlVariables
;	-----------------------------------------
_InitRotationalSpeedControlVariables:
	ar7 = 0x07
	ar6 = 0x06
	ar5 = 0x05
	ar4 = 0x04
	ar3 = 0x03
	ar2 = 0x02
	ar1 = 0x01
	ar0 = 0x00
	C$RotationalSpeedControl.c$18$1$26 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:18: u = 0.0;
	mov	dptr,#_u
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$20$2$27 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:20: for (i=0; i<3; i++) {
	mov	r7,#0x00
00102$:
	C$RotationalSpeedControl.c$21$2$27 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:21: ReferenceRotationalSpeed[i] = 0.0;
	mov	a,r7
	mov	b,#0x04
	mul	ab
	mov	r5,a
	mov	r6,b
	add	a,#_ReferenceRotationalSpeed
	mov	dpl,a
	mov	a,r6
	addc	a,#(_ReferenceRotationalSpeed >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$22$2$27 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:22: MeasuredRotationalSpeed[i] = 0.0;
	mov	a,r5
	add	a,#_MeasuredRotationalSpeed
	mov	dpl,a
	mov	a,r6
	addc	a,#(_MeasuredRotationalSpeed >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$24$2$27 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:24: e[i] = 0.0;
	mov	a,r5
	add	a,#_e
	mov	dpl,a
	mov	a,r6
	addc	a,#(_e >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$25$2$27 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:25: esum[i] = 0.0;
	mov	a,r5
	add	a,#_esum
	mov	dpl,a
	mov	a,r6
	addc	a,#(_esum >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$26$2$27 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:26: Kp[i] = 0.25;
	mov	a,r5
	add	a,#_Kp
	mov	dpl,a
	mov	a,r6
	addc	a,#(_Kp >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	mov	a,#0x80
	inc	dptr
	movx	@dptr,a
	mov	a,#0x3E
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$27$2$27 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:27: Ki[i] = 3.0;
	mov	a,r5
	add	a,#_Ki
	mov	dpl,a
	mov	a,r6
	addc	a,#(_Ki >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	mov	a,#0x40
	inc	dptr
	movx	@dptr,a
	mov	a,#0x40
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$20$1$26 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:20: for (i=0; i<3; i++) {
	inc	r7
	cjne	r7,#0x03,00110$
00110$:
	jnc	00111$
	ljmp	00102$
00111$:
	C$RotationalSpeedControl.c$29$1$26 ==.
	XG$InitRotationalSpeedControlVariables$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'RotationalSpeedControl'
;------------------------------------------------------------
;sloc0                     Allocated with name '_RotationalSpeedControl_sloc0_1_0'
;sloc1                     Allocated with name '_RotationalSpeedControl_sloc1_1_0'
;sloc2                     Allocated with name '_RotationalSpeedControl_sloc2_1_0'
;sloc3                     Allocated with name '_RotationalSpeedControl_sloc3_1_0'
;sloc4                     Allocated with name '_RotationalSpeedControl_sloc4_1_0'
;sloc5                     Allocated with name '_RotationalSpeedControl_sloc5_1_0'
;Motor                     Allocated with name '_RotationalSpeedControl_Motor_1_28'
;------------------------------------------------------------
	G$RotationalSpeedControl$0$0 ==.
	C$RotationalSpeedControl.c$31$1$26 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:31: void RotationalSpeedControl (U8 Motor) {
;	-----------------------------------------
;	 function RotationalSpeedControl
;	-----------------------------------------
_RotationalSpeedControl:
	mov	a,dpl
	C$RotationalSpeedControl.c$36$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:36: e[Motor] = ReferenceRotationalSpeed[Motor] - MeasuredRotationalSpeed[Motor];
	mov	dptr,#_RotationalSpeedControl_Motor_1_28
	movx	@dptr,a
	mov	_RotationalSpeedControl_sloc0_1_0,a
	mov	b,#0x04
	mul	ab
	mov	r5,a
	mov	r6,b
	add	a,#_e
	mov	r3,a
	mov	a,r6
	addc	a,#(_e >> 8)
	mov	r4,a
	mov	a,r5
	add	a,#_ReferenceRotationalSpeed
	mov	dpl,a
	mov	a,r6
	addc	a,#(_ReferenceRotationalSpeed >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	_RotationalSpeedControl_sloc1_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc1_1_0 + 1),a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc1_1_0 + 2),a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc1_1_0 + 3),a
	mov	a,r5
	add	a,#_MeasuredRotationalSpeed
	mov	dpl,a
	mov	a,r6
	addc	a,#(_MeasuredRotationalSpeed >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar6
	push	ar5
	push	ar4
	push	ar3
	push	ar0
	push	ar1
	push	ar2
	push	ar7
	mov	dpl,_RotationalSpeedControl_sloc1_1_0
	mov	dph,(_RotationalSpeedControl_sloc1_1_0 + 1)
	mov	b,(_RotationalSpeedControl_sloc1_1_0 + 2)
	mov	a,(_RotationalSpeedControl_sloc1_1_0 + 3)
	lcall	___fssub
	mov	_RotationalSpeedControl_sloc2_1_0,dpl
	mov	(_RotationalSpeedControl_sloc2_1_0 + 1),dph
	mov	(_RotationalSpeedControl_sloc2_1_0 + 2),b
	mov	(_RotationalSpeedControl_sloc2_1_0 + 3),a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar4
	pop	ar5
	pop	ar6
	mov	dpl,r3
	mov	dph,r4
	mov	a,_RotationalSpeedControl_sloc2_1_0
	movx	@dptr,a
	mov	a,(_RotationalSpeedControl_sloc2_1_0 + 1)
	inc	dptr
	movx	@dptr,a
	mov	a,(_RotationalSpeedControl_sloc2_1_0 + 2)
	inc	dptr
	movx	@dptr,a
	mov	a,(_RotationalSpeedControl_sloc2_1_0 + 3)
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$38$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:38: u = Kp[Motor] * e[Motor] + Ki[Motor] * esum[Motor];
	mov	a,r5
	add	a,#_Kp
	mov	_RotationalSpeedControl_sloc1_1_0,a
	mov	a,r6
	addc	a,#(_Kp >> 8)
	mov	(_RotationalSpeedControl_sloc1_1_0 + 1),a
	mov	dpl,_RotationalSpeedControl_sloc1_1_0
	mov	dph,(_RotationalSpeedControl_sloc1_1_0 + 1)
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar6
	push	ar5
	push	ar4
	push	ar3
	push	_RotationalSpeedControl_sloc2_1_0
	push	(_RotationalSpeedControl_sloc2_1_0 + 1)
	push	(_RotationalSpeedControl_sloc2_1_0 + 2)
	push	(_RotationalSpeedControl_sloc2_1_0 + 3)
	mov	dpl,r0
	mov	dph,r1
	mov	b,r2
	mov	a,r7
	lcall	___fsmul
	mov	_RotationalSpeedControl_sloc3_1_0,dpl
	mov	(_RotationalSpeedControl_sloc3_1_0 + 1),dph
	mov	(_RotationalSpeedControl_sloc3_1_0 + 2),b
	mov	(_RotationalSpeedControl_sloc3_1_0 + 3),a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar4
	pop	ar5
	pop	ar6
	mov	a,r5
	add	a,#_Ki
	mov	_RotationalSpeedControl_sloc2_1_0,a
	mov	a,r6
	addc	a,#(_Ki >> 8)
	mov	(_RotationalSpeedControl_sloc2_1_0 + 1),a
	mov	dpl,_RotationalSpeedControl_sloc2_1_0
	mov	dph,(_RotationalSpeedControl_sloc2_1_0 + 1)
	movx	a,@dptr
	mov	_RotationalSpeedControl_sloc4_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc4_1_0 + 1),a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc4_1_0 + 2),a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc4_1_0 + 3),a
	mov	a,r5
	add	a,#_esum
	mov	_RotationalSpeedControl_sloc5_1_0,a
	mov	a,r6
	addc	a,#(_esum >> 8)
	mov	(_RotationalSpeedControl_sloc5_1_0 + 1),a
	mov	dpl,_RotationalSpeedControl_sloc5_1_0
	mov	dph,(_RotationalSpeedControl_sloc5_1_0 + 1)
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar4
	push	ar3
	push	ar0
	push	ar1
	push	ar2
	push	ar7
	mov	dpl,_RotationalSpeedControl_sloc4_1_0
	mov	dph,(_RotationalSpeedControl_sloc4_1_0 + 1)
	mov	b,(_RotationalSpeedControl_sloc4_1_0 + 2)
	mov	a,(_RotationalSpeedControl_sloc4_1_0 + 3)
	lcall	___fsmul
	mov	r0,dpl
	mov	r1,dph
	mov	r2,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	push	ar0
	push	ar1
	push	ar2
	push	ar7
	mov	dpl,_RotationalSpeedControl_sloc3_1_0
	mov	dph,(_RotationalSpeedControl_sloc3_1_0 + 1)
	mov	b,(_RotationalSpeedControl_sloc3_1_0 + 2)
	mov	a,(_RotationalSpeedControl_sloc3_1_0 + 3)
	lcall	___fsadd
	mov	r0,dpl
	mov	r1,dph
	mov	r2,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar4
	mov	dptr,#_u
	mov	a,r0
	movx	@dptr,a
	mov	a,r1
	inc	dptr
	movx	@dptr,a
	mov	a,r2
	inc	dptr
	movx	@dptr,a
	mov	a,r7
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$40$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:40: if(((u < 1.0) || (e[Motor] < 0.0)) && ((u > -1.0) || (e[Motor] > 0.0))) { //Anti-Wind-Up
	push	ar7
	push	ar4
	push	ar3
	push	ar2
	push	ar1
	push	ar0
	clr	a
	push	acc
	push	acc
	mov	a,#0x80
	push	acc
	mov	a,#0x3F
	push	acc
	mov	dpl,r0
	mov	dph,r1
	mov	b,r2
	mov	a,r7
	lcall	___fslt
	mov	r6,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar0
	pop	ar1
	pop	ar2
	pop	ar3
	pop	ar4
	pop	ar7
	mov	a,r6
	jnz	00105$
	push	ar0
	push	ar1
	push	ar2
	push	ar7
	mov	dpl,r3
	mov	dph,r4
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar4
	push	ar3
	push	ar2
	push	ar1
	push	ar0
	clr	a
	push	acc
	push	acc
	push	acc
	push	acc
	mov	dpl,r2
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fslt
	mov	r7,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar0
	pop	ar1
	pop	ar2
	pop	ar3
	pop	ar4
	mov	a,r7
	pop	ar7
	pop	ar2
	pop	ar1
	pop	ar0
	jnz	00157$
	ljmp	00102$
00157$:
00105$:
	push	ar4
	push	ar3
	clr	a
	push	acc
	push	acc
	mov	a,#0x80
	push	acc
	mov	a,#0xBF
	push	acc
	mov	dpl,r0
	mov	dph,r1
	mov	b,r2
	mov	a,r7
	lcall	___fsgt
	mov	r7,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar4
	mov	a,r7
	jnz	00101$
	mov	dpl,r3
	mov	dph,r4
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar4
	push	ar3
	clr	a
	push	acc
	push	acc
	push	acc
	push	acc
	mov	dpl,r2
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fsgt
	mov	r7,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar4
	mov	a,r7
	jnz	00159$
	ljmp	00102$
00159$:
00101$:
	C$RotationalSpeedControl.c$41$2$30 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:41: esum[Motor] = esum[Motor] + e[Motor] * SAMPLING_TIME; //Integration
	mov	dpl,_RotationalSpeedControl_sloc5_1_0
	mov	dph,(_RotationalSpeedControl_sloc5_1_0 + 1)
	movx	a,@dptr
	mov	_RotationalSpeedControl_sloc4_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc4_1_0 + 1),a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc4_1_0 + 2),a
	inc	dptr
	movx	a,@dptr
	mov	(_RotationalSpeedControl_sloc4_1_0 + 3),a
	mov	dpl,r3
	mov	dph,r4
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar4
	push	ar3
	push	ar0
	push	ar1
	push	ar6
	push	ar7
	mov	dptr,#0xD70A
	mov	b,#0x23
	mov	a,#0x3C
	lcall	___fsmul
	mov	r2,dpl
	mov	r5,dph
	mov	r6,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	push	ar2
	push	ar5
	push	ar6
	push	ar7
	mov	dpl,_RotationalSpeedControl_sloc4_1_0
	mov	dph,(_RotationalSpeedControl_sloc4_1_0 + 1)
	mov	b,(_RotationalSpeedControl_sloc4_1_0 + 2)
	mov	a,(_RotationalSpeedControl_sloc4_1_0 + 3)
	lcall	___fsadd
	mov	_RotationalSpeedControl_sloc4_1_0,dpl
	mov	(_RotationalSpeedControl_sloc4_1_0 + 1),dph
	mov	(_RotationalSpeedControl_sloc4_1_0 + 2),b
	mov	(_RotationalSpeedControl_sloc4_1_0 + 3),a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar4
	mov	dpl,_RotationalSpeedControl_sloc5_1_0
	mov	dph,(_RotationalSpeedControl_sloc5_1_0 + 1)
	mov	a,_RotationalSpeedControl_sloc4_1_0
	movx	@dptr,a
	mov	a,(_RotationalSpeedControl_sloc4_1_0 + 1)
	inc	dptr
	movx	@dptr,a
	mov	a,(_RotationalSpeedControl_sloc4_1_0 + 2)
	inc	dptr
	movx	@dptr,a
	mov	a,(_RotationalSpeedControl_sloc4_1_0 + 3)
	inc	dptr
	movx	@dptr,a
	C$RotationalSpeedControl.c$42$2$30 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:42: u = Kp[Motor] * e[Motor] + Ki[Motor] * esum[Motor];
	mov	dpl,_RotationalSpeedControl_sloc1_1_0
	mov	dph,(_RotationalSpeedControl_sloc1_1_0 + 1)
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	dpl,r3
	mov	dph,r4
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	push	ar3
	push	ar4
	push	ar5
	push	ar2
	mov	dpl,r0
	mov	dph,r1
	mov	b,r6
	mov	a,r7
	lcall	___fsmul
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dpl,_RotationalSpeedControl_sloc2_1_0
	mov	dph,(_RotationalSpeedControl_sloc2_1_0 + 1)
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	push	ar7
	push	ar6
	push	ar5
	push	ar4
	push	_RotationalSpeedControl_sloc4_1_0
	push	(_RotationalSpeedControl_sloc4_1_0 + 1)
	push	(_RotationalSpeedControl_sloc4_1_0 + 2)
	push	(_RotationalSpeedControl_sloc4_1_0 + 3)
	mov	dpl,r0
	mov	dph,r1
	mov	b,r2
	mov	a,r3
	lcall	___fsmul
	mov	r0,dpl
	mov	r1,dph
	mov	r2,b
	mov	r3,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar4
	pop	ar5
	pop	ar6
	pop	ar7
	push	ar0
	push	ar1
	push	ar2
	push	ar3
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fsadd
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dptr,#_u
	mov	a,r4
	movx	@dptr,a
	mov	a,r5
	inc	dptr
	movx	@dptr,a
	mov	a,r6
	inc	dptr
	movx	@dptr,a
	mov	a,r7
	inc	dptr
	movx	@dptr,a
00102$:
	C$RotationalSpeedControl.c$45$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:45: if (u >  1.0) u =  1.0;
	mov	dptr,#_u
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	clr	a
	push	acc
	push	acc
	mov	a,#0x80
	push	acc
	mov	a,#0x3F
	push	acc
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fsgt
	mov	r7,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	a,r7
	jz	00107$
	mov	dptr,#_u
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	mov	a,#0x80
	inc	dptr
	movx	@dptr,a
	mov	a,#0x3F
	inc	dptr
	movx	@dptr,a
00107$:
	C$RotationalSpeedControl.c$46$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:46: if (u < -1.0) u = -1.0;
	mov	dptr,#_u
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	clr	a
	push	acc
	push	acc
	mov	a,#0x80
	push	acc
	mov	a,#0xBF
	push	acc
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fslt
	mov	r7,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	a,r7
	jz	00109$
	mov	dptr,#_u
	clr	a
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	mov	a,#0x80
	inc	dptr
	movx	@dptr,a
	mov	a,#0xBF
	inc	dptr
	movx	@dptr,a
00109$:
	C$RotationalSpeedControl.c$48$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:48: switch (Motor) {
	clr	a
	cjne	a,_RotationalSpeedControl_sloc0_1_0,00162$
	sjmp	00110$
00162$:
	mov	a,#0x01
	cjne	a,_RotationalSpeedControl_sloc0_1_0,00163$
	ljmp	00114$
00163$:
	mov	a,#0x02
	cjne	a,_RotationalSpeedControl_sloc0_1_0,00164$
	ljmp	00118$
00164$:
	ljmp	00122$
	C$RotationalSpeedControl.c$49$2$31 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:49: case M1: {
00110$:
	C$RotationalSpeedControl.c$50$3$32 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:50: if (u < 0) {
	mov	dptr,#_u
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar7
	push	ar6
	push	ar5
	push	ar4
	clr	a
	push	acc
	push	acc
	push	acc
	push	acc
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fslt
	mov	r3,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar4
	pop	ar5
	pop	ar6
	pop	ar7
	mov	a,r3
	jz	00112$
	C$RotationalSpeedControl.c$51$4$33 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:51: PCA0CPH3 = PWM_MIN - (U8)( -u * (F32)PWM_MIN );
	mov	ar0,r4
	mov	ar1,r5
	mov	ar2,r6
	mov	a,r7
	cpl	acc.7
	mov	r3,a
	push	ar0
	push	ar1
	push	ar2
	push	ar3
	mov	dptr,#0x0000
	mov	b,#0x7F
	mov	a,#0x43
	lcall	___fsmul
	mov	r0,dpl
	mov	r1,dph
	mov	r2,b
	mov	r3,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dpl,r0
	mov	dph,r1
	mov	b,r2
	mov	a,r3
	lcall	___fs2uchar
	mov	r3,dpl
	mov	a,#0xFF
	clr	c
	subb	a,r3
	mov	_PCA0CPH3,a
	C$RotationalSpeedControl.c$52$4$33 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:52: DIRECTION_M1 = 1;
	setb	_DIRECTION_M1
	ljmp	00124$
00112$:
	C$RotationalSpeedControl.c$55$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:55: PCA0CPH3 = PWM_MIN - (U8)(  u * (F32)PWM_MIN );
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	mov	dptr,#0x0000
	mov	b,#0x7F
	mov	a,#0x43
	lcall	___fsmul
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fs2uchar
	mov	r7,dpl
	mov	a,#0xFF
	clr	c
	subb	a,r7
	mov	_PCA0CPH3,a
	C$RotationalSpeedControl.c$56$4$34 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:56: DIRECTION_M1 = 0;
	clr	_DIRECTION_M1
	C$RotationalSpeedControl.c$58$3$32 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:58: break;
	ljmp	00124$
	C$RotationalSpeedControl.c$60$2$31 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:60: case M2: {
00114$:
	C$RotationalSpeedControl.c$61$3$35 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:61: if (u < 0) {
	mov	dptr,#_u
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar7
	push	ar6
	push	ar5
	push	ar4
	clr	a
	push	acc
	push	acc
	push	acc
	push	acc
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fslt
	mov	r3,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar4
	pop	ar5
	pop	ar6
	pop	ar7
	mov	a,r3
	jz	00116$
	C$RotationalSpeedControl.c$62$4$36 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:62: PCA0CPH4 = PWM_MIN - (U8)( -u * (F32)PWM_MIN );
	mov	ar0,r4
	mov	ar1,r5
	mov	ar2,r6
	mov	a,r7
	cpl	acc.7
	mov	r3,a
	push	ar0
	push	ar1
	push	ar2
	push	ar3
	mov	dptr,#0x0000
	mov	b,#0x7F
	mov	a,#0x43
	lcall	___fsmul
	mov	r0,dpl
	mov	r1,dph
	mov	r2,b
	mov	r3,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dpl,r0
	mov	dph,r1
	mov	b,r2
	mov	a,r3
	lcall	___fs2uchar
	mov	r3,dpl
	mov	a,#0xFF
	clr	c
	subb	a,r3
	mov	_PCA0CPH4,a
	C$RotationalSpeedControl.c$63$4$36 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:63: DIRECTION_M2 = 1;
	setb	_DIRECTION_M2
	ljmp	00124$
00116$:
	C$RotationalSpeedControl.c$66$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:66: PCA0CPH4 = PWM_MIN - (U8)(  u * (F32)PWM_MIN );
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	mov	dptr,#0x0000
	mov	b,#0x7F
	mov	a,#0x43
	lcall	___fsmul
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fs2uchar
	mov	r7,dpl
	mov	a,#0xFF
	clr	c
	subb	a,r7
	mov	_PCA0CPH4,a
	C$RotationalSpeedControl.c$67$4$37 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:67: DIRECTION_M2 = 0;
	clr	_DIRECTION_M2
	C$RotationalSpeedControl.c$69$3$35 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:69: break;
	ljmp	00124$
	C$RotationalSpeedControl.c$71$2$31 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:71: case M3: {
00118$:
	C$RotationalSpeedControl.c$72$3$38 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:72: if (u < 0) {
	mov	dptr,#_u
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar7
	push	ar6
	push	ar5
	push	ar4
	clr	a
	push	acc
	push	acc
	push	acc
	push	acc
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fslt
	mov	r3,dpl
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar4
	pop	ar5
	pop	ar6
	pop	ar7
	mov	a,r3
	jz	00120$
	C$RotationalSpeedControl.c$73$4$39 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:73: PCA0CPH5 = PWM_MIN - (U8)( -u * (F32)PWM_MIN );
	mov	ar0,r4
	mov	ar1,r5
	mov	ar2,r6
	mov	a,r7
	cpl	acc.7
	mov	r3,a
	push	ar0
	push	ar1
	push	ar2
	push	ar3
	mov	dptr,#0x0000
	mov	b,#0x7F
	mov	a,#0x43
	lcall	___fsmul
	mov	r0,dpl
	mov	r1,dph
	mov	r2,b
	mov	r3,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dpl,r0
	mov	dph,r1
	mov	b,r2
	mov	a,r3
	lcall	___fs2uchar
	mov	r3,dpl
	mov	a,#0xFF
	clr	c
	subb	a,r3
	mov	_PCA0CPH5,a
	C$RotationalSpeedControl.c$74$4$39 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:74: DIRECTION_M3 = 1;
	setb	_DIRECTION_M3
	sjmp	00124$
00120$:
	C$RotationalSpeedControl.c$77$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:77: PCA0CPH5 = PWM_MIN - (U8)(  u * (F32)PWM_MIN );
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	mov	dptr,#0x0000
	mov	b,#0x7F
	mov	a,#0x43
	lcall	___fsmul
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	mov	r7,a
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r7
	lcall	___fs2uchar
	mov	r7,dpl
	mov	a,#0xFF
	clr	c
	subb	a,r7
	mov	_PCA0CPH5,a
	C$RotationalSpeedControl.c$78$4$40 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:78: DIRECTION_M3 = 0;
	clr	_DIRECTION_M3
	C$RotationalSpeedControl.c$80$3$38 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:80: break;
	C$RotationalSpeedControl.c$82$2$31 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:82: default: {
	sjmp	00124$
00122$:
	C$RotationalSpeedControl.c$83$3$41 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:83: PCA0CPH3 = PWM_MIN;
	mov	_PCA0CPH3,#0xFF
	C$RotationalSpeedControl.c$84$3$41 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:84: PCA0CPH4 = PWM_MIN;
	mov	_PCA0CPH4,#0xFF
	C$RotationalSpeedControl.c$85$3$41 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:85: PCA0CPH5 = PWM_MIN;
	mov	_PCA0CPH5,#0xFF
	C$RotationalSpeedControl.c$87$1$29 ==.
;	C:\Users\Matt\Documents\Courses\ALICE\ALICE1\Source\RotationalSpeedControl.c:87: }
00124$:
	C$RotationalSpeedControl.c$88$1$29 ==.
	XG$RotationalSpeedControl$0$0 ==.
	ret
	.area CSEG    (CODE)
	.area CONST   (CODE)
	.area XINIT   (CODE)
	.area CABS    (ABS,CODE)
